package ziface

import "net"

// IConnection 连接接口
type IConnection interface {
	Start()                                      // 启动连接
	Stop()                                       // 停止连接
	GetConnID() uint64                           // 获取客户端地址信息
	GetTCPConnection() *net.TCPConn              // 当前TCP原始链接
	RemoteAddr() net.Addr                        // 远程客户端地址信息
	SendMsg(msgID uint64, data []byte) error     // 无缓冲的发送数据
	SendBuffMsg(msgID uint64, data []byte) error // 有缓冲的发送数据(非阻塞)
	SetProperty(key string, value interface{})   // 设置链接属性
	GetProperty(key string) (interface{}, error) // 获取链接属性
	RemoveProperty(key string)                   // 移除链接属性
}
